An information processing system which consists of computers and networks needs to handle many kinds of capacities per a unit of data (for example, a capacity of a file) from large size to small size as data of process. But the physical capacities of disk apparatuses (disk drives) which store the data are fixed. Consequently, if each of the disk apparatus is stored and managed, useless areas occur in each of the disk apparatuses.
And, the total amount of data handled in an information processing system has been increasing year by year. Consequently, if a large number of disk apparatuses are managed per each disk apparatus, the useless areas increase.
And, for a host controller such as a computer which uses disk apparatuses, the number of disk apparatuses targeted for management becomes enormous. Consequently, for the host controller, the management of disk apparatuses becomes complex and the process for management increases.
Therefore, a disk array apparatus is used as a storage device having a large storage capacity, which is free from a capacity of the disk apparatus (For example, refer to Japanese Patent Laid-Open No. 2010-009442 (patent document 1)).
The disk array apparatus includes a plurality of disk apparatuses. Then, this disk array apparatus reads and writes data as logical disk apparatuses to a host controller. The host controller can use the logical disk apparatuses which has necessary capacities and numbers for management by using the disk array apparatus.
The disk array apparatus includes a plurality of disk apparatus which store and play data and a disk array control apparatus (a disk array controller) which executes the exchange of data with the host controller and the control of the disk apparatuses.
Moreover, in order to secure the reliability of data, the disk array apparatus described in the patent document 1 uses RAID (Redundant Arrays of Inexpensive Disks or Redundant Arrays of Independent Disks) which has data redundancy. In order to realize the RAID, the disk array control apparatus manages the disk apparatuses regarding the management of the configuration of the RAID, and the like. And, the disk array control apparatus creates the data for securing the redundancy, and manages the record and the play of data for securing redundancy.
In order to secure the redundancy of data, the disk array apparatus using the RAID, which is described in the patent document 1 constructs the RAID with a plurality of disk apparatuses. Further, hereinafter, a state in which all the disk apparatus constituting the RAID are normally operating will be referred to ‘a normal state’. Since the redundancy of data based on the RAID can be secured, the normal state will be sometimes referred to as ‘a state of redundancy’.
Even if one or more of the disk apparatuses included in the RAID are unusable (for example, failure), the disk array apparatus using the RAID can read and write data. However, in order to replace a disk apparatus having become unusable with a usable disk apparatus, the disk array apparatus separates the unusable disk apparatus from the array configuration logically or physically (electrically). Such state as described above, in which an unusable disk apparatus is included in the RAID configuration or is separated from the RAID configuration, will be referred to as ‘a reduced state’. And, since the redundancy of data cannot be secured, the reduced state will be sometimes referred to as ‘a state of non-redundancy’.
The separated disk apparatus is removed through a predetermined replacement operation and a normal disk apparatus is installed into the disk array apparatus. After the replacement of the faulty disk apparatus, the disk array control apparatus recovers (rebuilds) data of the currently-installed disk apparatus based on the data of disk apparatuses which have been operating in a reduced state. When whole data of the currently-installed disk apparatus has been recovered, the disk array apparatus returns to a normal state, in other words, a state of redundancy.
In this rebuild processing, the disk array control apparatus reads out a predetermined unit of data from the disk apparatuses which have been operating in the reduced state; calculates data which is necessary for the security of redundancy of data on the basis of the read-out predetermined unit of data; and writes the calculated data into the currently-installed disk apparatus after replacements. The disk array control apparatus repeats these operations to recover all data to be stored in the currently-installed disk apparatus after replacement.
However, even if during the rebuild processing described above, the disk array apparatus needs to process commands for reading and writing of data from the host controller. That is, the disk array apparatus in the rebuild processing state processes both read/write operations for rebuilding and read/write operations for data from the host controller. Consequently, the disk array apparatus in the rebuild processing state degrades the performance of processing such as responding to a process from the host controller by the time of the rebuild processing.
The storage capacities of recent disk apparatuses have been particularly increasing significantly. Consequently, a period of necessary time of rebuilding for recovering data of a currently-installed disk apparatus after replacement increases. That is, the influence of the rebuild processing leading to the degradation of process performance increases.
Among disk apparatuses, there exist disk apparatuses provided with caches to improve the process performance.
Therefore, in data writing processes, the disk array apparatus described in the patent document 1 does not write data into a disk medium, but writes it into a write cache, and can improve the process performance thereby.
More specifically describing, the disk array apparatus described in the patent document 1 notifies the host controller of the completion of a data writing process at the time when the disk array apparatus has written write data received from the host apparatus into the write cache of the disk apparatus.
The host controller determines that the data writing process has been completed upon reception of the notification of the completion from the disk array apparatus, and performs a next process (for example, a process of clearing write data or a process of issuing a next command).
Further, the disk apparatus, which writes the write data in the write cache, writes the write data which is written in the write cache into the disk medium at a predetermined timing (for example, at a timing when there is no access from the host controller during a constant period of time) or in accordance with an instruction from the host controller.